Advanced Skinning Tutorial

Converting your skins into Models

You can turn your skins into separate MODELS
Run ANY or ALL of your models without substituting the original 5 skins
and without conflicting with other skins you recieve.
Cycle through them anytime during gameplay.
As models instead of a skin,  you can;
Create custom Armpad, Shoulderpad, and Kneepads for each skin.
Control effects for the sunglasses and bootlights on a per skin basis.

Introduction:
This tutorial is intended for individuals who already make fakk2 skins.
You can enjoy the paint effects you create on all the skin parts, run all the skins in-game, and make adjustments to the sunglasses alpha settings, and bootlight effects if desired.
Have custom painted Armpads, Shoulderpads, and Kneepads for each skin.
With this tutorial, you're actually making separate game models, that cannot conflict with other skin makers skins, or the original 5 julie skins.

Preparation:  (General file extraction and skin making review)
A:  Extract the SIX  ftx skin files from the pak0.pk3 file to your empty
“my documents” folder.
models/players/newjulie/julie1_skin1.ftx         // julie pants/boots/blades
models/players/newjulie/julie2_skin1.ftx         // julie shirt/body/pouches
models/players/newjulie/julie3_skin1.ftx         // julie head/glasses
models/players/newjulie/julie4.ftx                   // julie metal armpad blades holder
models/players/newjulie/julie5.ftx                   // julie metal shoulderpad blades holder
models/players/newjulie/julie6.ftx                   // julie metal kneepad blades holder
B:  Extract the “julie.tik” file from the pak0.pk3 file.
models/julie.tik
C:  Extract the “julie_base.tik” file from the pak0.pk3 file.
models/julie_base.tik
D:  Extract the “beau.shader” file from the pak0.pk3 file also.
scripts/beau.shader
E:  Convert the skins ftx files to tga with “ftxconvert”
F:  Now paint the 6 tga files to your liking.
(saving as 24 bit will not harm or prevent alpha adjustments in the sunglasses)
G:  Convert the painted tga files back into ftx with “tgaconvert”
(Discard the tga files and converters, they are no longer needed.)
 

MODEL MAKING INSTRUCTIONS:
(always substitute COOLNAME with the name of  your new skin)

1:  Rename your 6 repainted fakk ftx skins in the following manner:
from   julie1_skin1.ftx   to   julie1_COOLNAME.ftx
from   julie2_skin1.ftx   to   julie2_COOLNAME.ftx
from   julie3_skin1.ftx   to   julie3_COOLNAME.ftx
from   julie4.ftx             to   COOLNAME4.ftx
from   julie5.ftx             to   COOLNAME5.ftx
from   julie6.ftx             to   COOLNAME6.ftx

2: Edit the Julie.tik file for your new skin:
TIKI
$include models/julie_base_COOLNAME.tik   // for painted armpad,shoulder,kneepad

setup
   {
   surface skin1 shader julie1_COOLNAME.tga
   surface skin2 shader julie2_COOLNAME.tga
   surface skin3 shader julie3_COOLNAME.tga
   surface holster shader julie1_COOLNAME.tga
   surface holster_item shader julie2_COOLNAME.tga
   surface pouch shader julie2_COOLNAME.tga
   surface bun shader julie3_COOLNAME.tga
   surface bootlights shader COOLNAMEbootlights    // for painted bootlights
   surface glasses shader COOLNAMEglasses              // for painted glasses
   surface armpad_spikes shader COOLNAMEspikes        // for painted spikes
   surface kneepad_spikes shader COOLNAMEspikes             // for painted spikes
   surface shoulderpad_spikes shader COOLNAMEspikes        // for painted spikes
   }

4:  Save the new julie.tik file.

5:  Rename the julie.tik file to julie_COOLNAME.tik

6: Edit the extracted beau.shader file to create a custom shader file for your skin:
DELETE EVERY LINE in the beau.shader file:
PASTE in the lines below, and substitute COOLNAME with your skin name.
(in addition, you can adjust the alphaGen constant for shades, and the rgbGen wave sin for the bootlights if desired in here)

COOLNAMEspikes
{
   nomipmaps
   cull none
   {
      map models/players/newjulie/julie1_COOLNAME.tga
      rgbGen lightingDiffuse
   }
   {
      map textures/metals/envmap_glasses_nomipmap.tga
      blendFunc GL_DST_COLOR GL_ONE
      tcGen environment
   }
}

COOLNAMEglasses
{
   nomipmaps
   cull none
   {
      map models/players/newjulie/julie3_COOLNAME.tga
      blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
      rgbGen lightingDiffuse
      alphaGen constant 0.9000000

   }
   {
      map textures/metals/envmap_glasses_nomipmap.tga
      blendFunc GL_ONE GL_ONE
      tcGen environment
   }
}

COOLNAMEbootlights
{
   nomipmaps
   {
      map models/players/newjulie/julie1_COOLNAME.tga
      rgbGen lightingDiffuse
   }
   {
      map models/players/newjulie/julie1_COOLNAME.tga
      blendFunc GL_ONE GL_ONE
   rgbGen wave sin 0.5 0.5 1.0 0.25
   }
}

COOLNAMEshoulder
{
   nomipmaps
   cull none
   {
      map models/players/newjulie/COOLNAME5.tga
      rgbGen lightingDiffuse
   }
   {
      map textures/metals/envmap_glasses_nomipmap.tga
      blendFunc GL_DST_COLOR GL_ONE
      tcGen environment
   }
}

COOLNAMEarmpad
{
   nomipmaps
   cull none
   {
      map models/players/newjulie/COOLNAME4.tga
      rgbGen lightingDiffuse
   }
   {
      map textures/metals/envmap_glasses_nomipmap.tga
      blendFunc GL_DST_COLOR GL_ONE
      tcGen environment
   }
}

COOLNAMEkneepad
{
   nomipmaps
   cull none
   {
      map models/players/newjulie/COOLNAME6.tga
      rgbGen lightingDiffuse
   }
   {
      map textures/metals/envmap_glasses_nomipmap.tga
      blendFunc GL_DST_COLOR GL_ONE
      tcGen environment
   }
}
 

7:  Save the beau.shader file with the same name.

8:  Rename the beau.shader file to COOLNAME.shader

9:  Edit the julie_base.tik (substitute COOLNAME where shown with your skin name)
setup
   {
   scale 1.0
   path models/players/newjulie
   skelmodel julie_base.skb

   radius  20
   surface armpad shader COOLNAMEarmpad
   surface kneepad shader COOLNAMEkneepad
   surface shoulderpad shader COOLNAMEshoulder
   surface all flags nomipmaps
   }

10:  Save the julie_base.tik file

11:  Rename the julie_base file to "julie_base_COOLNAME.tik"

12:  Zip the entire package with the same paths(folders) they are currently in.

13:  Rename the zip file to “zCOOLNAME.pk3

14:  Move the pk3 file into your FAKK2/FAKK folder.

You now have an addon pak that will run 6 skins in your fakk2 game.
(repeat the above steps to create a 7th, 8th, 9th, etc custom Julie model skin.)

15:  Switch the models at anytime with the console command:

script $player model julie_COOLNAME.tik
changeoutfit 5 (to view your armorpads, blades, and shades)
(Grab and modify “players.cfg” to make model switching faster)

For an example to use as a template, grab the Aquatarkus model "Meddle" or "CoCo"

Enjoy!